home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / calclate.arc / PCMANUAL.DOC < prev    next >
Text File  |  1985-03-18  |  42KB  |  1,621 lines

  1. ¢@¢B
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.         Programmer's Calculator
  9.  
  10.              Version 1.0
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.        Copyright 1983
  26.        Ronald Moak
  27.        Forest Computer Consultants
  28.        P.O. Box 1463
  29.        Springfield, Oregon 97477
  30.        All rights reserved
  31.  
  32.  
  33.   
  34.  
  35.  
  36.  
  37.  
  38.  
  39.            TABLE OF CONTENTS
  40.  
  41.        STARTING UP
  42.         INTRODUCTION . . . . . . . . . . .1
  43.         SYSTEM REQUIREMENTS. . . . . . . .2
  44.         BACK UP. . . . . . . . . . . . . .2
  45.         STARTING & ENDING. . . . . . . . .3
  46.         MONITORS . . . . . . . . . . . . .3
  47.  
  48.        CALCULATOR PROGRAM
  49.         KEYING IN NUMBERS. . . . . . . . .4
  50.         CORRECTING NUMBERS . . . . . . . .5
  51.         REVERSE POLISH NOTATION. . . . . .5
  52.         REGISTERS. . . . . . . . . . . . .6
  53.         CALCULATIONS
  54.            Single Register . . . . . . . .6
  55.            Dual Register . . . . . . . . .7
  56.            Chain Calculation . . . . . . .9
  57.         FUNCTIONS. . . . . . . . . . . . .11
  58.            General . . . . . . . . . . . .12
  59.            Logical . . . . . . . . . . . .14
  60.            Memory. . . . . . . . . . . . .16
  61.            Stack . . . . . . . . . . . . .17
  62.         MEMORY
  63.            Store . . . . . . . . . . . . .18
  64.            Recall. . . . . . . . . . . . .19
  65.            Arithmetic. . . . . . . . . . .19
  66.            Memory Display. . . . . . . . .20
  67.            Clear Memory. . . . . . . . . .21
  68.         STACK OPERATIONS
  69.            Push. . . . . . . . . . . . . .21
  70.            Pop . . . . . . . . . . . . . .23
  71.            Clear Stack . . . . . . . . . .24
  72.         STACK MANIPULATION
  73.            Rotate Stack. . . . . . . . . .25
  74.            Swap X & Y. . . . . . . . . . .26
  75.         CONSTANT CALCULATIONS. . . . . . .26
  76.         RANGES . . . . . . . . . . . . . .27
  77.         ERRORS MESSAGES. . . . . . . . . .28
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.        CONVERSION PROGRAM
  86.         NUMBER FORMAT & RANGE. . . . . . .29
  87.         CONVERTING . . . . . . . . . . . .30
  88.         2'S COMPLEMENT . . . . . . . . . .31
  89.         ERRORS . . . . . . . . . . . . . .32
  90.         PROMPTS. . . . . . . . . . . . . .32
  91.  
  92.   
  93.  
  94.  
  95.  
  96.        Programmer's Calculator            Page 1
  97.  
  98.  
  99.        STARTING UP
  100.  
  101.  
  102.             INTRODUCTION
  103.  
  104.         Programmer's Calculator is divided into
  105.        two programs, Calculator and Conversion.
  106.        After the initial screen the first screen
  107.        displayed is the calculator program.  To
  108.        access the Conversion program screen use
  109.        the function key (F10).    This key is used
  110.        to toggle between the two programs.  When
  111.        switching between programs, the program
  112.        you leave is frozen at the point you
  113.        pressed (F10).  This allows you to return
  114.        to the program where you left off.
  115.  
  116.        The Calculator Program is a powerful
  117.        Reverse Polish Notation calculator.  The
  118.        calculator displays on screen the four
  119.        stack registers, six memory registers and
  120.        a display register; there by making it
  121.        unnecessary to write down the contents of
  122.        the registers when making complex calcula-
  123.        tions.  In addition to the general funct-
  124.        ions found on most calculators the Pro-
  125.        grammer's Calculator has six logical
  126.        functions (and, or, not, etc.).    Numbers
  127.        used in the general calculations may be up
  128.        to 16 digits in accuracy.
  129.  
  130.         The Conversion Program provides a
  131.        fast and efficient way to convert numbers
  132.        between decimal, hexadecimal, binary, and
  133.        octal.  Numbers up to 20 bits binary may be
  134.        converted and the two's complement may be
  135.        calculated on numbers up to 15 bits in
  136.        length.
  137.  
  138.  
  139.  
  140.   
  141.  
  142.  
  143.  
  144.  
  145.       Programmer's Calculator            Page 2
  146.  
  147.  
  148.          SYSTEM REQUIREMENTS
  149.  
  150.         Programmer's Calculator requires the
  151.        following minimum requirements to operate.
  152.  
  153.            IBM Personal Computer
  154.            128K ram memory
  155.            1 disk drive
  156.  
  157.  
  158.               BACK UP
  159.  
  160.        Before working with the Programmer's
  161.        Calculator copy the program onto another
  162.        disk and save the Master Disk in a safe
  163.        place.  You may copy Programmer's Calcula-
  164.        tor onto a hard disk for rapid access, or
  165.        on any disk you may need for your personal
  166.        work.
  167.  
  168.        This program is copyrighted and selling
  169.        of the program for personal gain is
  170.        strictly prohibited.  Because this program
  171.        is marked under the concept of Freeware
  172.        you may copy the program for distribut-
  173.        ion.  If you find this program to be of
  174.        use to you the author recommends a $15.00
  175.        donation.  Further versions may become
  176.        available if there is sufficient response.
  177.  
  178.        If you put the program on a fresh disk
  179.        then format the new disk using the format
  180.        instructions in the IBM DOS manual.
  181.  
  182.        Copy Procedure Single Drive:
  183.        a. Insert Master Disk in Drive A
  184.        b. Type: copy PC.EXE b:
  185.        c. Read prompt, remove Master Disk and
  186.           insert Backup disk and press any
  187.           key.
  188.  
  189.   
  190.  
  191.  
  192.  
  193.       Programmer's Calculator            Page 3
  194.  
  195.  
  196.        Copy Procedure Dual Drive:
  197.        a. Insert Master Disk in Drive A and
  198.           insert Backup Disk in Drive B.
  199.        b. Type: copy PC.EXE b:
  200.  
  201.        With the program safely copied store
  202.        Master Disk in a safe place for protection
  203.        in case your backup is damaged.
  204.  
  205.  
  206.            STARTING & ENDING
  207.  
  208.         To run the program place a disk with
  209.        the program on it and type PC.  After a
  210.        few seconds the opening screen will be
  211.        displayed.  Once the program is initialize
  212.        the calculator screen will automatically
  213.        replace the initial screen.  If for some
  214.        reason the program does not start, get the
  215.        master disk out.  The Master Disk comes
  216.        with PC.EXE (Programmers Calculator),
  217.        GC.EXE (General Calculator), PCMANUAL.TXT
  218.        (program manual), and MANUAL.BAT (used to
  219.        generate a copy of the manual).
  220.  
  221.         To end the program and return to DOS
  222.        press the ESC key.
  223.  
  224.  
  225.                MONITORS
  226.  
  227.         Programmer's Calculator will run on
  228.        either the color/graphics card or the
  229.        monochrome card.  During the initialization
  230.        process the program checks for the type of
  231.        card installed and runs accordingly.  If both
  232.        monitors are installed the program defaults to
  233.        the Color/Graphics Card.
  234.  
  235.  
  236.   
  237.  
  238.  
  239.  
  240.       Programmer's Calculator            Page 4
  241.  
  242.  
  243.        CALCULATOR PROGRAM
  244.  
  245.            KEYING IN NUMBERS
  246.  
  247.        All numbers entered into the calculator
  248.        program appear in the double boxed display
  249.        under the stack.
  250.  
  251.        Positive Numbers:  Key in the number as it
  252.        is written but do not include the commas.
  253.        Numbers will aligned on the left hand side
  254.        of the display, and may be up to 16 digits
  255.        long including the decimal place.
  256.  
  257.        Example:  Enter the Number 1,345,776.732
  258.  
  259.        Keystroke       Display
  260.        1345776.732     1,345,776.732
  261.  
  262.        Negative Numbers:  To enter a negative
  263.        number, key in the number as above then
  264.        press F4.  A minus sign will appear in
  265.        front of the number.
  266.  
  267.        Example:  Enter the number -123.4
  268.  
  269.        Keystroke       Display
  270.        123.4 (F4)      -123.4
  271.  
  272.        Press F4 again and the number will
  273.        become positive.  The key (F4) acts as a
  274.        toggle between positive and negative
  275.        numbers.
  276.  
  277.        Before continuing to the next section,
  278.        press the tab key (|<-) and the back space
  279.        key (<--).  These keys will clear the
  280.        stack and display registers respectively.
  281.  
  282.  
  283.  
  284.   
  285.  
  286.  
  287.  
  288.        Programmer's Calculator            Page 5
  289.  
  290.  
  291.           CORRECTING NUMBERS
  292.  
  293.        Single digit:  If, during the process of
  294.        entering a long number, you entered a
  295.        digit incorrectly, you may correct the
  296.        entry.  Press (^) and the (Del) key simul-
  297.        taneously and the last digit entered will
  298.        be deleted.  By repeating the keystroke
  299.        and you may delete as many digits as
  300.        needed.
  301.  
  302.        Example:  If you entered 12,456.3 but
  303.        meant to enter 1,245.63
  304.  
  305.        Keystroke       Display
  306.        12456.3           12,456.3
  307.        (^)(Del)        12,456.
  308.        (^)(Del)        12,456
  309.        (^)(Del)        1,245
  310.        .63           1,245.63
  311.  
  312.        Whole numbers:  To delete the entire number
  313.        press the Backspace key (<--). This clears
  314.        the number in the display and pops the
  315.        stack (see Stack Operations).  To enter a
  316.        new number just enter the number as you
  317.        would normally.
  318.  
  319.        Example:  You typed 239 but meant to type
  320.        .239.
  321.  
  322.        Keystroke     Display     Stack 1
  323.        239         239       0.
  324.        (<)         0.        0.
  325.        .239         .239       0.
  326.  
  327.  
  328.         REVERSE POLISH NOTATION
  329.  
  330.        The Programmers Calculator uses Reverse
  331.        Polish Notation (RPN) logic in the calcu-
  332.  
  333.   
  334.  
  335.  
  336.  
  337.        Programmer's Calculator            Page 6
  338.  
  339.  
  340.        lation of numbers.  RPN is a fast and
  341.        efficient method for long calculations, but
  342.        may take some getting used to if you are
  343.        new to the logic.  If you have never
  344.        worked with a RPN calculator, read this
  345.        manual carefully to take  full advantage
  346.        of the power of the calculator.    If you
  347.        have used used RPN logic on other calcu-
  348.        lators, this system will be very familiar
  349.        to you.
  350.  
  351.  
  352.                REGISTERS
  353.  
  354.        In order for a calculator or computer
  355.        to perform calculations it must store the
  356.        numbers it is working on.  In general this
  357.        space is called memory.    The Programmer's
  358.        Calculator divides the memory into
  359.        registers.  Each register will hold one 16
  360.        digit number.  Programmer's Calculator has
  361.        11 registers displayed on the screen (6
  362.        memory, 4 stack, 1 display).  All primary
  363.        operations (add, subtract, square root,
  364.        etc) involve the display register (the
  365.        double boxed register under the stack) by
  366.        itself, or the display register with
  367.        either one of the memory registers or the
  368.        stack 1 register [S1].  Functions that use
  369.        the display register alone are referred
  370.        to as single register functions.
  371.        Functions the require the use of two
  372.        registers are referred to as dual register
  373.        functions.
  374.  
  375.              CALCULATIONS
  376.  
  377.         Single Register Functions
  378.  
  379.        The single register function uses the
  380.        value in the display register as input for
  381.        the calculation.  The result is placed
  382.  
  383.   
  384.  
  385.  
  386.  
  387.        Programmer's Calculator            Page 7
  388.  
  389.  
  390.        back in the display register, and no other
  391.        registers are effected.    An example of a
  392.        single register function is the change
  393.        sign function described in entering negat-
  394.        ive numbers.  Other single register funct-
  395.        ions include square root, square, absolute
  396.        value, logical not, etc.
  397.  
  398.        Single register functions are performed
  399.        by:
  400.        a.       Entering the number
  401.        b.       Pressing the appropriate function
  402.            key
  403.  
  404.        Example: Take the square root of 25
  405.  
  406.        Keystroke       Display
  407.           25         25
  408.           (F3)         5
  409.  
  410.  
  411.         Dual Register Functions
  412.  
  413.        Dual register function make use of two
  414.        registers.  One register is always the
  415.        display register the other register is
  416.        either the stack 1 register or one of the
  417.        memory registers.  Most of the operations
  418.        made on the calculator (add, subtract)
  419.        require two numbers.  RPN logic calculat-
  420.        ors use the stack as a temporary storage
  421.        for one of the numbers.
  422.  
  423.        In RPN logic the two numbers are
  424.        entered into the calculator then the
  425.        operation is performed.    This will seem
  426.        awkward a first, but a little experience
  427.        will illustrate the power of the logic.
  428.        In order for the calculator to different-
  429.        ate between the two numbers the enter key
  430.  
  431.   
  432.  
  433.  
  434.  
  435.        Programmer's Calculator            Page 8
  436.  
  437.  
  438.        (<-') is pressed after the first number is
  439.        entered.  In effect the (<-') is used to
  440.        push numbers on the stack where they are
  441.        held in temporary storage until needed.
  442.  
  443.        Example:  To add 22 + 15
  444.  
  445.        a. type 22       first number
  446.        b. press (<-')  22 is pushed on to the
  447.                stack
  448.        c. type 15       second number
  449.        d. press (+)    perform function
  450.  
  451.        Keystroke   Display   Stack 1
  452.        22          22      0.
  453.        (<-')          22      22
  454.        15          15      22
  455.        (+)          27      0.
  456.  
  457.        As you can see by the example the first
  458.        number was temporarily stored in stack
  459.        until it was needed.  The use of the
  460.        stack for the storage of numbers or
  461.        partial results of calculations is a
  462.        powerful feature of RPN logic.
  463.  
  464.        Before continuing to the next section,
  465.        press the tab key (|<-) and the back space
  466.        key (<--).  These keys will clear the
  467.        stack and display registers respectively.
  468.  
  469.        In the previous example you will note
  470.        that we had the value of 22 in the display
  471.        register and in stack 1 after the second
  472.        operation.  We can make use of the 22 in
  473.        the display register instead of overwrit-
  474.        ing it with 15.    By pressing the (+) key
  475.        instead of entering 15 the number is
  476.        doubled to 44.
  477.  
  478.   
  479.  
  480.  
  481.  
  482.        Programmer's Calculator            Page 9
  483.  
  484.  
  485.        Example: Double the number 22
  486.  
  487.        Keystroke  Display   Stack 1
  488.        22         22      0.
  489.        (<-')         22      22
  490.        (+)         44      0.
  491.  
  492.        Try out the following calculations before
  493.        going on to chain calculations.
  494.  
  495.            1.  22 x 25  = 550
  496.            2.  20 - 15  = 5
  497.            3.  20 / 4   = 5
  498.            4.  5^3      = 125
  499.            5.  5^1/3  = 1.7099759...
  500.  
  501.  
  502.           Chain Calculations
  503.  
  504.        Long operations using multiple numbers
  505.        are performed easily using RPN logic.  Long
  506.        calculations are broken down into smaller
  507.        two register operations and the inter
  508.        mediate result of each operation is stored
  509.        in the stack where it cam be combined with
  510.        the results of other operations. PC
  511.        calculator allows up to four intermediate
  512.        results to be stored in the stack.
  513.  
  514.        The result of an operation on the two
  515.        numbers is in the display register.  This
  516.        result may then be used in a single
  517.        register function or pushed on the stack
  518.        and later combined with other numbers.  To
  519.        perform a calculation with the results of
  520.        the first calculation and another number,
  521.        simply enter the next number and perform
  522.        the calculation.  When you enter the next
  523.        number the result of the first calculation
  524.        is automatically pushed form the display
  525.        register into the stack 1 register.  You
  526.  
  527.   
  528.  
  529.  
  530.  
  531.        Programmer's Calculator            Page 10
  532.  
  533.  
  534.        now have the result of the first calcu-
  535.        lation in stack 1 register and the new
  536.        number in the display register.  To
  537.        complete the calculation press the desired
  538.        function key.
  539.  
  540.        Example:  Calculate the equation (22 + 5) x 10
  541.  
  542.        With the calculation of any equation,
  543.        always perform the operation in the inner
  544.        most level of parenthesis first, Then work
  545.        you way to the outer levels of parentheses.
  546.  
  547.        a. type 22       fist number
  548.        b. press (<-')  push 22 in stack
  549.        c. type 5       second number
  550.        d. press (+)    perform addition
  551.        e. type 10       enter next number result
  552.                of first operation (27)
  553.                automatically pushed on
  554.                the stack
  555.        f. press (*)    perform multiplication,
  556.                result in the display
  557.                register
  558.  
  559.        Keystroke  Display  Stack 1
  560.        22        22        0.
  561.        (<-')        22      22
  562.        5        5        22
  563.        (+)        27        0.
  564.        10        10        27
  565.        (x)        270     0.
  566.  
  567.  
  568.   
  569.  
  570.  
  571.  
  572.        Programmer's Calculator            Page 11
  573.  
  574.  
  575.        Try the following operations before
  576.        continuing.  If you do not get the correct
  577.        results review the section again.
  578.  
  579.        (23 + 8) x 15 = 465
  580.        ((4 x 16).5) x 10 = 320
  581.        (1,234.43 / 55) x 2 = 44.8883636...
  582.  
  583.  
  584.        More complicated problems are solved
  585.        by temporarily storing the intermediate
  586.        results of each operation in the stack
  587.        until needed.
  588.  
  589.        Example:  To solve (22 + 15) x (32 / 2)
  590.  
  591.        The results of the operation in each set
  592.        of parenthesis is calculated.  The results
  593.        of the two intermediate calculations serve
  594.        as input values for the final calculation.
  595.  
  596.        Keystroke   Display   S1    S2
  597.        22         22      0.    0.
  598.        (<-')         22      22    0.
  599.        15         15      22    0.
  600.        (+)         37      0.    0.
  601.        32         32      37    0.
  602.        (<-')         32      32    37
  603.        2         2         32    37
  604.        (/)         16      37    0.
  605.        (*)         592     0.    0.
  606.  
  607.  
  608.  
  609.                FUNCTIONS
  610.  
  611.        In this section each function available
  612.        on the PC calculator will be discussed.
  613.  
  614.  
  615.   
  616.  
  617.  
  618.  
  619.        Programmer's Calculator            Page 12
  620.  
  621.  
  622.        The functions available on the calcu-
  623.        lator are displayed in the lower left hand
  624.        corner of the screen on the template.
  625.        Since all of the functions can not be
  626.        displayed at once the (F9) key is used to
  627.        toggle between the two template.
  628.  
  629.        The keystroke used to invoke the
  630.        function is illustrated in the template in
  631.        an abbreviated form.  For example the
  632.        keystroke (Ctrl)-(F3) is representable by
  633.        CF3.  All key-strokes listed in this
  634.        section separated by a dash [(Ctrl)-(F3)]
  635.        should be pressed simultaneously.
  636.  
  637.        The symbol is the representation of the
  638.        function as displayed on the template.
  639.  
  640.  
  641.            General Functions
  642.  
  643.        Function   Keystroke  Symbol
  644.  
  645.        Add         (+)       +
  646.        Subtract     (-)       -
  647.        Multiply      (*)       *
  648.        Divide         (/)       /
  649.  
  650.        Two register function
  651.  
  652.        Used to manipulate numbers in the display
  653.        and the stack 1 register with the results
  654.        in the display register.  May also be used
  655.        to manipulate display and a memory
  656.        register with the results in the memory
  657.        register.
  658.  
  659.  
  660.  
  661.  
  662.  
  663.   
  664.  
  665.  
  666.  
  667.        Programmer's Calculator            Page 13
  668.  
  669.  
  670.        Function  Keystroke  Symbol
  671.  
  672.        Square      (F3)         x^2
  673.  
  674.        Single register function
  675.  
  676.        Used to take the square of the number
  677.        in the display register.
  678.  
  679.  
  680.        Function     Keystroke    Symbol
  681.  
  682.        Square root  (Alt)-(F3)      x^1/2
  683.  
  684.        Single register function
  685.  
  686.        Used to take the square root of the
  687.        number in the display register.
  688.  
  689.  
  690.        Function  Keystroke  Symbol
  691.  
  692.        X to n     (^)-(F3)     Xn
  693.  
  694.        Dual register function
  695.  
  696.        Used to raise X to the Power n.    X is the
  697.        number in stack 1 register and n is the
  698.        number in the display register.
  699.  
  700.  
  701.        Function  Keystroke     Symbol
  702.  
  703.        X to 1/n  (Ctrl)-(F3)    X^1/n
  704.  
  705.        Dual register function
  706.  
  707.        Used to raise X to the power of 1/n.  X is
  708.        the number in the stack register and n is
  709.        the number in the display register.
  710.  
  711.   
  712.  
  713.  
  714.  
  715.        Programmer's Calculator            Page 14
  716.  
  717.  
  718.        Function        Keystroke   Symbol
  719.  
  720.        Absolute value  (Alt)-(F4)   |x|
  721.  
  722.        Single Register Function
  723.  
  724.        Used to take the absolute value of the
  725.        number in the display register.
  726.  
  727.  
  728.        Function  Keystroke  Symbol
  729.  
  730.        Inverse     (^)-(F4)    1/x
  731.  
  732.        Single register function
  733.  
  734.        Used to take the inverse of the number in
  735.        the display register.
  736.  
  737.  
  738.        Function     Keystroke  Symbol
  739.  
  740.        Change sign     F4     +
  741.  
  742.        Single register function
  743.  
  744.        Used to change the sign of the display
  745.        register.
  746.  
  747.  
  748.            Logical Functions
  749.  
  750.        Function   Keystroke  Symbol
  751.  
  752.        And       F5          AND
  753.        Or       F6          OR
  754.        Xor       F7          XOR
  755.        Imp       (^)-(F5)   IMP
  756.        Equ       (^)-(F6)   EQU
  757.  
  758.        Dual register function
  759.  
  760.   
  761.  
  762.  
  763.  
  764.  
  765.        Programmer's Calculator            Page 15
  766.  
  767.  
  768.        The bits in the numbers in the display and
  769.        stack 1 register are compared and the
  770.        result placed in the display register.
  771.        The bits are compared using the following
  772.        tables.
  773.  
  774.        AND     X       Y     Result
  775.            1       1       1
  776.            1       0       0
  777.            0       1       0
  778.            0       0       0
  779.  
  780.        OR      X       Y     Result
  781.            1       1       1
  782.            1       0       1
  783.            0       1       1
  784.            0       0       0
  785.  
  786.        XOR     X       Y     Result
  787.            1       1       0
  788.            1       0       1
  789.            0       1       1
  790.            0       0       0
  791.  
  792.        EQV     X       Y     Result
  793.            1       1       1
  794.            1       0       0
  795.            0       1       0
  796.            0       0       1
  797.  
  798.        IMP     X       Y     Result
  799.            1       1       1
  800.            1       0       0
  801.            0       1       1
  802.            0       0       1
  803.  
  804.  
  805.   
  806.  
  807.  
  808.  
  809.        Programmer's Calculator            Page 16
  810.  
  811.  
  812.        Function  Keystroke  Symbol
  813.  
  814.        Not     (F8)         NOT
  815.  
  816.        Single register function
  817.  
  818.        The bits of the number in the display
  819.        register are reversed according to the
  820.        table.
  821.  
  822.        NOT     X    Result
  823.            0      1
  824.            1      0
  825.  
  826.  
  827.            Memory Functions
  828.  
  829.        Function   Keystroke  Symbol
  830.  
  831.        Store      F1         STO
  832.  
  833.        Dual Register Function
  834.  
  835.        Used to copy the contents of the display
  836.        register into one of the memory registers.
  837.        Requires a number (indicating the memory
  838.        location) to be entered after pressing the
  839.        F1 key.    By entering one of the four
  840.        arithmetic functions before entering the
  841.        storage location, the contents of the
  842.        memory location is add, subtracted,
  843.        multiplied, or divided with the contents
  844.        of the display register.
  845.  
  846.  
  847.        Function  Keystroke  Symbol
  848.  
  849.        Recall     F2        RCL
  850.  
  851.        Dual register function
  852.  
  853.   
  854.  
  855.  
  856.  
  857.        Programmer's Calculator            Page 17
  858.  
  859.  
  860.        Used to copy the contents of a memory
  861.        register into the display register.
  862.        Requires a number (indicating the memory
  863.        location) to be entered after the F2 key
  864.        is pressed.
  865.  
  866.  
  867.        Function      Keystroke     Symbol
  868.  
  869.        Clear Memory  (^)-(|<-)     Clear memory
  870.  
  871.        Multiple register function
  872.  
  873.        Used to clear all of the memory registers
  874.        in on operation.  It uses the shift tab
  875.        key.
  876.  
  877.  
  878.             Stack Functions
  879.  
  880.        Function      Keystroke     Symbol
  881.  
  882.        Clear stack   (->|)     Clear stack
  883.  
  884.        Multiple register function
  885.  
  886.        The clear stack function allows you to
  887.        clear the contents of the stack between
  888.        calculations.  It uses the tab key.
  889.  
  890.        Function      Keystroke     Symbol
  891.  
  892.        Rotate Stack  (^)-(F2)     R^
  893.  
  894.        Multiple register function
  895.  
  896.        The rotate stack function allows you to
  897.        rotate the contents of the stack,  Each
  898.        time the (^)-(F2) is pressed, the stack
  899.        will rotate one number.
  900.  
  901.   
  902.  
  903.  
  904.  
  905.        Programmer's Calculator            Page 18
  906.  
  907.  
  908.        Function     Keystroke      Symbol
  909.  
  910.        Swap X & Y   (Alt)-(F2)      X <-> Y
  911.  
  912.        Dual register Function
  913.  
  914.        The swap function exchanges the contents
  915.        of the display register with the contents
  916.        of the stack 1 register.
  917.  
  918.  
  919.              MEMORY
  920.  
  921.        The Programmers Calculator has six
  922.        memory registers (listed M1-M6) displayed
  923.        across the top of the screen.  This elimi-
  924.        nates the need to write down the contents
  925.        of the memory registers when performing
  926.        calculations.
  927.  
  928.              Store
  929.  
  930.        Numbers in the display register may
  931.        easily be copied into a memory register by
  932.        first pressing (F1) and second entering
  933.        the number of the memory register to
  934.        receive the number.  The process of
  935.        copying a number into a memory register
  936.        does not affect the contents of the dis-
  937.        play register; however, the previous
  938.        contents of the memory register are over-
  939.        written.
  940.  
  941.        Example:  Place 1345.6 into memory
  942.        register (M2).
  943.  
  944.        Keystroke  Display   M2
  945.        1345.6      1,345.6   0.
  946.        (F1) 2      1,345.6   1,345.6
  947.  
  948.  
  949.   
  950.  
  951.  
  952.  
  953.        Programmer's Calculator            Page 19
  954.  
  955.  
  956.             Recall
  957.  
  958.        To retrieve numbers from a memory
  959.        register, press (F2) followed by the
  960.        number of the register that contains the
  961.        number to be copied.  The contents of the
  962.        memory register are unaffected by the copy
  963.        process.  The contents of the display
  964.        register are either overwritten or pushed
  965.        into the stack depending upon the previous
  966.        operation (see stack operations for the
  967.        effect of an operation on the stack).
  968.  
  969.        Example:  Retrieve the contents of M2.
  970.  
  971.        Keystroke   Display   M2
  972.            0.         1,345.6
  973.        (F2) 2       1,345.6   1,345.6
  974.  
  975.  
  976.               Arithmetic
  977.  
  978.        Contents of a memory register are
  979.        affected when a number is stored or when a
  980.        memory register is performed.  The
  981.        functions that may be used with memory
  982.        registers are add, subtract, multiply,
  983.        and divide.  The results of calculations
  984.        using a memory register and the display
  985.        register are stored in the memory
  986.        register.
  987.  
  988.        Example:  Add the number 22 to the
  989.        contents of M2.
  990.  
  991.        a. enter 22      number to be added
  992.        b. press (F1)  set up the store
  993.        c. press (+)   press key of operation
  994.               to be performed
  995.  
  996.   
  997.  
  998.  
  999.  
  1000.  
  1001.        Programmer's Calculator            Page 20
  1002.  
  1003.  
  1004.        d. press 2      number of the memory
  1005.               register the number is
  1006.               added to
  1007.  
  1008.  
  1009.        Keystroke    Display   M2
  1010.        22          22      1,345.6
  1011.        (F1) (+) 2     22      1,367.6
  1012.  
  1013.        Example:  Subtract the number 67.6 from
  1014.        the contents of M2.
  1015.  
  1016.        Keystroke    Display   M2
  1017.        67.6        67.6      1,367.6
  1018.        (F1) (-) 2   67.6      1,300
  1019.  
  1020.  
  1021.        Try out following examples.
  1022.  
  1023.        a. Store 500 into M1 and divide 20 into
  1024.           the register, answer is 25.
  1025.        b. Multiply the contents of M1 by 25,
  1026.           answer is 625
  1027.  
  1028.        To cancel a memory function before
  1029.        completion, press the enter key.  You may
  1030.        then use the number in the display
  1031.        register as a function value or overwrite
  1032.        the number with a new number.
  1033.  
  1034.  
  1035.             Memory Display
  1036.  
  1037.        The contents of the memory register are
  1038.        displayed in single precision while the
  1039.        contents of the display register are
  1040.        displayed in double precision.  This will
  1041.        not affect what you see in the memory
  1042.        register unless the numbers you are work-
  1043.        ing with are longer than 7 digits.  Any
  1044.  
  1045.   
  1046.  
  1047.  
  1048.  
  1049.  
  1050.        Programmer's Calculator            Page 21
  1051.  
  1052.  
  1053.        number longer than seven digits in memory
  1054.        will be displayed in scientific notation.
  1055.        Internally the computer stores the numbers
  1056.        in double precision so operations on the
  1057.        numbers are unaffected.    When large
  1058.        numbers are retrieved from the memory they
  1059.        will be displayed in the format in which
  1060.        they were stored.
  1061.  
  1062.              Clear Memory
  1063.  
  1064.        The contents of memory may be cleared
  1065.        one register at a time or all of the
  1066.        registers at once.
  1067.  
  1068.        To clear one register store 0 into the
  1069.        register with the store function.
  1070.  
  1071.        To clear all of the registers at once
  1072.        press the shift and tab key simultan-
  1073.        eously.    This will clear out all of the
  1074.        memory registers.
  1075.  
  1076.  
  1077.           STACK OPERATIONS
  1078.  
  1079.        The stack is the heart of the RPN logic
  1080.        calculator.  By learning to use the stack
  1081.        efficiently you will be able to perform
  1082.        complex calculations easily and quickly.
  1083.  
  1084.  
  1085.             Push
  1086.  
  1087.        The stack is composed of four registers
  1088.        residing on top of each other labeled one
  1089.        to four.  As you learned earlier numbers
  1090.        are pushed into the stack with the enter
  1091.        key (<-').  Continued pressing of the
  1092.        (<-') will continue to push the number
  1093.        deeper into the stack.  This operation is
  1094.  
  1095.   
  1096.  
  1097.  
  1098.  
  1099.        Programmer's Calculator            Page 22
  1100.  
  1101.  
  1102.        called pushing the stack.  As you will see
  1103.        the first number pushed on to the stack
  1104.        will be the last number popped off the
  1105.        stack.  The enter key is used to push the
  1106.        number in the display register onto the
  1107.        stack.  When the number in the display
  1108.        register is the results of a numeric
  1109.        operation, the stack is automatically
  1110.        pushed when the next number is entered.
  1111.  
  1112.        When the stack is pushed the number in
  1113.        stack 4 register is discarded the number
  1114.        in stack 3 register takes its place. The
  1115.        numbers in each register are pushed up in
  1116.        the next highest register and finally the
  1117.        number in the display register is moved up
  1118.        into the stack 1 register.
  1119.  
  1120.        Example:  Clear out the stack and try out
  1121.        the following keystrokes.
  1122.  
  1123.        1 (<-') stack 4   0.
  1124.            stack 3     0.
  1125.            stack 2     0.
  1126.            stack 1     1
  1127.            display     1
  1128.  
  1129.        2 (<-') stack 4   0.
  1130.            stack 3     0.
  1131.            stack 2     1
  1132.            stack 1     2
  1133.            display     2
  1134.  
  1135.        3 (<-') stack 4   0.
  1136.            stack 3     1
  1137.            stack 2     2
  1138.            stack 1     3
  1139.            display     3
  1140.  
  1141.  
  1142.  
  1143.   
  1144.  
  1145.  
  1146.  
  1147.        Programmer's Calculator            Page 23
  1148.  
  1149.  
  1150.        4 (<-') stack 4   1
  1151.            stack 3     2
  1152.            stack 2     3
  1153.            stack 1     4
  1154.            display     4
  1155.  
  1156.        5       stack 4     1
  1157.            stack 3     2
  1158.            stack 2     3
  1159.            stack 1     4
  1160.            display     5
  1161.  
  1162.        In the example we did not press (<-')
  1163.        after entering 5.  Therefore the value of
  1164.        5 was not pushed into the stack.  If we
  1165.        press (<-') now the stack will be pushed
  1166.        and the number in stack 4 will disappear.
  1167.  
  1168.        (<-')  stack 4   2
  1169.           stack 3    3
  1170.           stack 2    4
  1171.           stack 1    5
  1172.           display    5
  1173.  
  1174.  
  1175.               Pop
  1176.  
  1177.        When the stack is popped the operation
  1178.        is the reverse of the push.  The contents
  1179.        of stack 1 register is moved into display
  1180.        register and the contents of stack 2
  1181.        register is moved into stack 1 register
  1182.        and so forth. are popped from the stack by
  1183.        popping the stack.
  1184.  
  1185.        Numbers are retrieved from the stack by
  1186.        popping the stack.  All dual register
  1187.        functions that use the stack as the second
  1188.        register, automatically pop the stack.
  1189.        During the calculation the stack is popped
  1190.        and result left in the display register.
  1191.  
  1192.   
  1193.  
  1194.  
  1195.  
  1196.        Programmer's Calculator            Page 24
  1197.  
  1198.  
  1199.        In fact the display register is an
  1200.        extension of the stack with one except-
  1201.        ion.  When the stack is pushed the display
  1202.        register always retains the number that
  1203.        was pushed into the stack.  You then have
  1204.        the option of using the number in the
  1205.        display register again or entering a new
  1206.        number.    If you do not enter a new number
  1207.        then when you perform a function the
  1208.        number in the display register becomes one
  1209.        of the input values of the function.
  1210.  
  1211.        If you enter a new number the display
  1212.        is cleared to make room for the new
  1213.        number.
  1214.  
  1215.        Try the following examples.
  1216.  
  1217.        Example:  Double the value of 45.
  1218.  
  1219.        Keystroke  Display  Stack 1
  1220.        45        45        0.
  1221.        (<-')        45      45
  1222.        (+)        90        0.
  1223.  
  1224.        Example:  Multiply 45 by 2
  1225.  
  1226.        Keystroke  Display  Stack 1
  1227.        45        45        0.
  1228.        (<-')        45      45
  1229.        2        2        45
  1230.        (*)        90        0.
  1231.  
  1232.  
  1233.               Clear Stack
  1234.  
  1235.        To clear the contents of the stack
  1236.        press the tab key.  All of the stack
  1237.        registers will be set to zero, but the
  1238.        contents of the display register will be
  1239.        unaffected.
  1240.  
  1241.   
  1242.  
  1243.  
  1244.  
  1245.        Programmer's Calculator            Page 25
  1246.  
  1247.  
  1248.           STACK MANIPULATION
  1249.  
  1250.        Programmer's Calculator provides two
  1251.        functions to manipulate numbers within the
  1252.        stack.  These functions allow you to
  1253.        rearrange the contents of the stack for
  1254.        calculation.
  1255.  
  1256.              Rotate Stack
  1257.  
  1258.        The rotate stack function allows you
  1259.        to rotate the stack and the contents of
  1260.        the display register.  The contents of the
  1261.        display resisters are moved into stack 4
  1262.        register and the stack is popped.
  1263.  
  1264.        Example:  Enter the following sequence 1
  1265.        (<-') 2 (<-') 3 (<-') 4 (<-') 5
  1266.  
  1267.        Keystroke   Register   Contents
  1268.            stack 4     1
  1269.            stack 3     2
  1270.            stack 2     3
  1271.            stack 1     4
  1272.            display     5
  1273.  
  1274.        (^)-(F2)    stack 4     5
  1275.            stack 3     1
  1276.            stack 2     2
  1277.            stack 1     3
  1278.            display     4
  1279.  
  1280.        Before continuing to the next section,
  1281.        press the tab key (|<-) and the back space
  1282.        key (<--).  These keys will clear the
  1283.        stack and display registers respectively.
  1284.  
  1285.   
  1286.  
  1287.  
  1288.  
  1289.        Programmer's Calculator            Page 26
  1290.  
  1291.  
  1292.               Swap X & Y
  1293.  
  1294.        The Swap X & Y function exchanges the
  1295.        contents of the display register and the
  1296.        stack 1 register.  Press (Alt)-F2) and the
  1297.        two number are exchanged.
  1298.  
  1299.        Example:  Enter the two numbers and swap
  1300.        the registers.
  1301.  
  1302.        Keystroke   Display   Stack 1
  1303.        34       34         0.
  1304.        (<-')       34        34
  1305.        15       15         34
  1306.        (Alt)-(F2)  34         15
  1307.  
  1308.  
  1309.          CONSTANT CALCULATIONS
  1310.  
  1311.        Whenever a number is in the stack 4
  1312.        register and the stack is popped, the
  1313.        contents of stack 4 is duplicated in stack
  1314.        3 and stack 4 remains unchanged.  This
  1315.        handy feature is useful in calculations
  1316.        that require constant value input.
  1317.  
  1318.        Example: Enter the following 4 (<-')  2
  1319.        (<-') 3 (<-') 4 (<-').
  1320.  
  1321.        Keystroke  Registers  Contents
  1322.           stack 4    4
  1323.           stack 3    2
  1324.           stack 2    3
  1325.           stack 1    4
  1326.           display    4
  1327.  
  1328.        (+)      stack 4    4
  1329.           stack 3    4
  1330.           stack 2    2
  1331.           stack 1    3
  1332.           display    8
  1333.  
  1334.   
  1335.  
  1336.  
  1337.  
  1338.        Programmer's Calculator            Page 27
  1339.  
  1340.  
  1341.        (+)      stack 4    4
  1342.           stack 3    4
  1343.           stack 2    4
  1344.           stack 1    2
  1345.           display    11
  1346.  
  1347.        (+)      stack 4    4
  1348.           stack 3    4
  1349.           stack 2    4
  1350.           stack 1    4
  1351.           display    13
  1352.  
  1353.        (*)      stack 4    4
  1354.           stack 3    4
  1355.           stack 2    4
  1356.           stack 1    4
  1357.           display    52
  1358.  
  1359.        (*)      stack 4    4
  1360.           stack 3    4
  1361.           stack 2    4
  1362.           stack 1    4
  1363.           display    208
  1364.  
  1365.  
  1366.             RANGES
  1367.  
  1368.        Input values  Numbers entered into Pro-
  1369.        grammers Calculator may be up to 16 digits
  1370.        in length.  The program does not support
  1371.        the input of numbers in scientific
  1372.        notation.
  1373.  
  1374.        Calculated Values  Numbers generated by
  1375.        calculation may range from 2.9E-39 to
  1376.        1.7E-38.  Any number generated outside of
  1377.        that range will cause an "Out of Range"
  1378.        error message to be displayed.
  1379.  
  1380.        Logical Values  Operations using the
  1381.        logical functions will work on integer
  1382.  
  1383.   
  1384.  
  1385.  
  1386.  
  1387.        Programmer's Calculator            Page 28
  1388.  
  1389.  
  1390.        numbers from -32,768 to 32,767.
  1391.        Attempting to use invalid numbers will
  1392.        cause an error message to be displayed.
  1393.  
  1394.  
  1395.  
  1396.              ERROR MESSAGES
  1397.  
  1398.        The calculator program will display
  1399.        error messages for illegal operations.
  1400.        These messages are displayed just above
  1401.        the display register.  The error message
  1402.        will be display until the next
  1403.        keystroke.  The number in the display
  1404.        register may be used with any function.
  1405.        The number will be overwritten if you
  1406.        attempt to enter a new number without first
  1407.        pushing the number on the stack.
  1408.  
  1409.        If you continue to get error prompts
  1410.        check with the manual for correct proced-
  1411.        ures.
  1412.  
  1413.        Beep:  The computer will beep if you attempt
  1414.        to enter an incorrect keystroke.  Check
  1415.        the manual to determine the correct
  1416.        procedure.
  1417.  
  1418.        Out of Range:  This prompt will be display-
  1419.        ed if you attempt to preform an operation
  1420.        with a number that is out of the range of
  1421.        the program.
  1422.  
  1423.        Division By Zero:  This prompt is displayed
  1424.        if you attempt to divide zero into any
  1425.        number.
  1426.  
  1427.        Illegal Function:  Any function or combin-
  1428.        ation of keystrokes that is unknown to the
  1429.        program will cause the prompt to be
  1430.        displayed.
  1431.  
  1432.   
  1433.  
  1434.  
  1435.  
  1436.        Programmer's Calculator            Page 29
  1437.  
  1438.  
  1439.        CONVERSION PROGRAM
  1440.  
  1441.         NUMBER FORMATS & RANGES
  1442.  
  1443.        The format of the number entered in the
  1444.        Conversion Program varies depending upon
  1445.        the type of number being entered (hexadec-
  1446.        imal, decimal, etc.).  A beep will be
  1447.        sounded if you attempt an invalid
  1448.        character.
  1449.  
  1450.        Numbers that are out of allowable
  1451.        ranges will cause a appropriate error
  1452.        message displayed at the bottom of the
  1453.        screen.
  1454.  
  1455.        Decimal:  Any digits between 0 and 9 inclu-
  1456.        sive are valid for entering decimal
  1457.        numbers.  Negative signs may be entered
  1458.        when entering negative numbers.    The sign
  1459.        is entered first followed by the number.
  1460.  
  1461.        The range of valid decimal numbers is
  1462.       -32,768 to 1,048,575.
  1463.  
  1464.  
  1465.       Hexadecimal:  Any digits between 0 and 9
  1466.       inclusive and characters between A and F
  1467.       inclusive are valid for entering hexadec-
  1468.       imal numbers.  Letters may be upper or
  1469.       lower case.
  1470.  
  1471.       The range of valid hexadecimal numbers
  1472.       is 00000 to FFFFF.
  1473.  
  1474.       Binary:  Only 0 and 1 are used to form
  1475.       valid binary numbers.  Binary numbers must
  1476.       be entered in groups of four.
  1477.  
  1478.       The range of valid binary numbers is
  1479.       0000 to 1111 1111 1111 1111 1111.
  1480.  
  1481.  
  1482.  
  1483.  
  1484.       Programmer's Calculator            Page 30
  1485.  
  1486.  
  1487.       Octal:  Any digits between 0 and 7
  1488.       inclusive are valid for entering octal
  1489.       numbers.
  1490.  
  1491.       The range of valid octal numbers is 0
  1492.       to 3,777,777
  1493.  
  1494.  
  1495.              CONVERTING
  1496.  
  1497.       Converting number is a simple task.  At
  1498.       the top of the screen is a menu of the
  1499.       conversion options.
  1500.  
  1501.     1  Decimal         4    Octal
  1502.  
  1503.     2  Hexadecimal         5    2's Complement
  1504.  
  1505.     3  Binary       F10    Calculator
  1506.  
  1507.       Enter one of the selection between 1 and
  1508.       5.  The "Enter Choice" prompt in the
  1509.       middle of the screen will be replaced by a
  1510.       prompt corresponding to the selection.
  1511.       Enter the number to be converted then
  1512.       press the enter key (<-').
  1513.  
  1514.       The conversion will be displayed at the
  1515.       bottom of the screen next to the
  1516.       appropriate type.  The prompt will be
  1517.       replaced with the "Enter Choice" prompt
  1518.       and you are ready to convert the next
  1519.       number.
  1520.  
  1521.       Numbers entered in correctly may be
  1522.       corrected by entering the backspace key.
  1523.       Press the key once and the last character
  1524.       entered is deleted.
  1525.  
  1526.  
  1527.  
  1528.  
  1529.  
  1530.  
  1531.       Programmer's Calculator            Page 31
  1532.  
  1533.  
  1534.       If you enter a choice and decide you do
  1535.       not want to enter a number of that type
  1536.       then simply press (<-') and the current
  1537.       prompt will be replaced by the "Enter
  1538.       Choice" prompt.
  1539.  
  1540.       Example: Convert decimal 798
  1541.  
  1542.           a. press 1
  1543.           b. read prompt
  1544.           c. type 798
  1545.           d. press (<-')
  1546.  
  1547.       Results:
  1548.  
  1549.        Decimal        798       Binary 0011 0001 1110
  1550.  
  1551.        Hexadecimal  31E       Octal  1,436
  1552.  
  1553.  
  1554.           2'S COMPLEMENT
  1555.  
  1556.       To calculate the 2's complement press 5
  1557.       at the "Enter Choice" prompt.  The numbers
  1558.       at the bottom of the screen will be recal-
  1559.       culated and the 2's complement of the
  1560.       number displayed.
  1561.  
  1562.       Press 5 again and the original numbers
  1563.       will appear again.  The 5 will toggle
  1564.       between regular notation and 2's
  1565.       complement.
  1566.  
  1567.       2's complement will only work on
  1568.       numbers in the range of -32,768 to
  1569.       32,767.  Attempting to calculate the
  1570.       complement of a number outside this range
  1571.       will result in an error message.
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.       Programmer's Calculator            Page 32
  1578.  
  1579.  
  1580.                ERRORS
  1581.  
  1582.       The program responds to four types of
  1583.       errors.  For invalid keystrokes the
  1584.       program will beep.  For the rest of the
  1585.       errors the program will respond with
  1586.       visual responses at the bottom of the
  1587.       screen.  The error message will remain
  1588.       resident on the screen until the next
  1589.       keystroke.
  1590.  
  1591.       Too Few Digits (Enter in groups of four):
  1592.       This prompt will be displayed if the you
  1593.       attempt to enter a binary number with an
  1594.       invalid number of digits.
  1595.  
  1596.       Out of 2's Complement Range -32768 to
  1597.       32767:  This message is displayed if you
  1598.       attempt perform a 2's complement that is
  1599.       out of range.
  1600.  
  1601.       Out of Range:  This message is displayed
  1602.       for any number entered that is out of
  1603.       range.
  1604.  
  1605.  
  1606.                PROMPTS
  1607.  
  1608.           The following prompts are displayed
  1609.       according to the menu item selected.
  1610.  
  1611.       Decimal:    Enter Decimal Number (-32,768 to
  1612.       1,048,575)
  1613.  
  1614.       Hexadecimal:  Enter Hexadecimal Number (0
  1615.       to FFFFF)
  1616.  
  1617.       Binary:  Enter Binary Number (20 Digits
  1618.       Max)
  1619.  
  1620.       Octal:  Enter Octal Number (0 to 3,777,777)
  1621.